import {
	reactive,
	ref
} from 'vue';
//必须导入需要用到的页面生命周期（即使在当前页面上没有直接使用到）
import {
	onPageScroll,
	onReachBottom,
	onShow
} from '@dcloudio/uni-app';

export default function(api, dataconfig = "data") {
	// ref
	const paging = ref(null)
	// 返回的数据
	let dataList = ref([])
	// 其他参数
	let datas = reactive({})
	// 需要在数组中追加字段 以数组对象方式 [{key:'',value:''}]
	let addStr = ref([])

	const queryList = async (pageNo, pageSize) => {
		let paths = dataconfig.split('.');
		api({
			page: pageNo,
			...datas
		}).then(res => {
			while (paths.length > 0) {
				res = res[paths.shift()]
			}
			
			if(addStr.value.length>0){
				addStr.value.forEach((item,index)=>{
					console.log(item);
					res.forEach((items,i) => {
						items[item.key] = item.value
					});
				})
			}
			console.log(res);
			paging.value.complete(res);
		})

	}


	return {
		paging,
		dataList,
		queryList,
		datas,
		addStr
	}
}

// 使用方法 
/***
let {
		dataList,
		paging,
		queryList,
		datas
	} = zpaging(fittingOrder, 'data.data')
	
	
datas 里面定义请求参数





*/